package com.ctshk.rpc.tour.dto.schedule;

import com.ctshk.rpc.tour.req.CollectionPlaceJson;
import com.ctshk.rpc.tour.req.TripCustomCostReq;
import com.ctshk.rpc.tour.req.TripCustomTreeReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.LocalTime;
import java.util.List;

/**
 * @author Lenovo
 */
@Data
@ApiModel(value = "TripScheduleDepartureDTO对象", description = "行程详情团期列表")
public class TripScheduleDepartureDTO implements Serializable {

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "标题")
    private String title;

    @ApiModelProperty(value = "团期状态(1: 未成团 2：已成团 3：停售 4：保留 5：不成团 6：已完团)")
    private Integer scheduleStatus;

    @ApiModelProperty(value = "出发日期")
    private LocalDate departureDate;

    @ApiModelProperty(value = "最大成团人数")
    private Integer maxPeople;

    @ApiModelProperty(value = "最小成团人数")
    private Integer minPeople;

    @ApiModelProperty(value = "留位数")
    private Integer reservedSeatsNum;

    @ApiModelProperty(value = "团号")
    private String tripNumber;

    @ApiModelProperty(value = "线路id")
    private Long tripId;

    @ApiModelProperty(value = "是否允许留位")
    private Integer enableAdditionalPosition;

    @ApiModelProperty(value = "清位时间")
    private Integer clearSeatsTime;

    @ApiModelProperty(value = "清位时间单位")
    private Integer clearSeatsUnit;

    @ApiModelProperty(value = "成本分摊模板类型")
    private Integer costSharingType;

    @ApiModelProperty(value = "周几")
    private DayOfWeek dayOfWeek;

    @ApiModelProperty(value = "团规则key(A团 B团)")
    private String sortKey;

    @ApiModelProperty(value = "默认团队成本分摊")
    private TripScheduleDefaultCostDTO tripScheduleDefaultCost;

    @ApiModelProperty(value = "自定义成本属性（当模板类型为2时候，填充整个数据）")
    private TripCustomCostReq tripCustomCostReq;

    @ApiModelProperty(value = "自定义年龄段和日期类型（当模板类型为2时候，填充整个数据）")
    private TripCustomTreeReq tripCustomTree;

}
